/*
    发布订阅模式：发布方实现
*/
#include "ros/ros.h"
#include "std_msgs/String.h"
#include <sstream>

int main(int argc, char *argv[])
{
    //中文编码显示问题设置
    setlocale(LC_ALL, "");
    //初始化ROS节点
    ros::init(argc, argv, "erGouZi");
    //创建节点句柄
    ros::NodeHandle nh;
    //创建发布者对象
    ros::Publisher pub = nh.advertise<std_msgs::String>("fang", 10);
    //编写发布罗建并发布数据
    std_msgs::String msg;

    ros::Duration(3).sleep();
    //以10Hz频率发布消息，并在文本中加入编号
    ros::Rate rate(10);
    int count = 0;
    while (ros::ok())
    {
        count++;
        //实现字符串拼接
        std::stringstream ss;
        ss << "hello --> " << count;
        msg.data = ss.str();
        pub.publish(msg);
        //添加日志：
        ROS_INFO("发布的数据是:%s", ss.str().c_str());
        //休眠等待，实现10Hz频率
        rate.sleep();
    }

    return 0;
}
